from flask import Flask, current_app, redirect, url_for
from werkzeug.routing import BaseConverter

# 创建Flask的应用对象
# __name__表示当前的模块名字
# 模块名，flask以这个模块所在的目录为总目录，默认这个目录中的static为静态目录，templates为模板目录
app = Flask(__name__)


# 转换器
# 127.0.0.1:5000/goods/123
# @app.route('/goods/<int:goods_id>')
@app.route('/goods/<goods_id>')  # 不加转换器类型，默认是普通的字符出规则（除了/的字符）
def goods_detail(goods_id):
    """定义的试图函数"""
    print(goods_id)
    return "goods detail page %s" % goods_id


# 1、定义自己的转换器
class RegexConverter(BaseConverter):
    """"""
    pass


# 2、将字定义的转换器添加到flask的应用中
app.url_map.converters["re"] = RegexConverter


# 127.0.0.1:5000/send/18612345678
@app.route("/send/<re:mobile>")
def send_sms(mobile):
    return "send sms to %s" % mobile


if __name__ == '__main__':
    # 通过url_map可以查看整个flask中的路由信息
    print(app.url_map)
    # 启动flask程序
    app.run(debug=True)